<html>
    <head>
        <title>用来刷新小部件的Url</title>
    </head>
    <body>
        <script>
             /*
                        五、用来刷新小部件的Url  RefreshUrl 

                                        小部件可以设计一个RefreshUrl,  每当小部件需要刷新时使用它。
                                        
                                        如果定义了，则小部件在每次刷新时都会在服务器端重新呈现（请参阅下面WidgetManager的刷新method）。

                                                    [Widget(RefreshUrl = "Widgets/Counters")]  // 声明用于刷新小部件的url，需要为此url配置端点
                                                    public class CountersWidgetViewComponent : AbpViewComponent
                                                    {
                                                        
                                                    }

                                        一旦你为你的小部件定义了一个RefreshUrl，你需要提供一个端点来渲染和返回它：

                                                    [Route("Widgets")]
                                                    public class CountersWidgetController : AbpController
                                                    {
                                                        [HttpGet]  // 必须为GET请求
                                                        [Route("Counters")] // 必须与RefreshUrl匹配
                                                        public IActionResult Counters(DateTime startDate, DateTime endDate)
                                                        {
                                                            return ViewComponent("CountersWidget", new {startDate, endDate}); // 返回新的视图组件实例，并传递参数给视图组件的构造函数
                                                        }
                                                    }
                                                    
                                                    Widgets/Counters路由匹配到之前声明的RefreshUrl

                                        ★、应该通过两种方式刷新小部件：

                                                    ①、第一种方式，当你使用 RefreshUrl时，它会在服务器上重新渲染，并且服务器返回的html替换。

                                                    ②、第二种方式，小部件从服务器货期数据(通常是JSON)，并在客户端实现自己。(请参阅小部件JavaScript API部分中的刷新方法)
                   */

        </script>
    </body>
</html>